# SYNOPSIS
#
#   AX_CXX_IMPLICIT_CAST
#
# DESCRIPTION
#
#   If the compiler supports implicit_cast<>, define HAVE_IMPLICIT_CAST.
#
# LICENSE
#
#   Copyright (c) 2011 Sayan Chaliha <sayan.chaliha@codegrafix.com>
#
#   Copying and distribution of this file, with or without modification, are 
#   permitted in any medium without royalty provided the copyright notice
#   and this notice are preserved. This file is offered as-is, without any 
#   warranty.

#serial 6

AU_ALIAS([AC_CXX_IMPLICIT_CAST], [AX_CXX_IMPLICIT_CAST])
AC_DEFUN([AX_CXX_IMPLICIT_CAST],
  [AC_CACHE_CHECK([whether the compiler supports implicit_cast<>],
    [ax_cv_cxx_implicit_cast],
    [AC_LANG_PUSH([C++])
     AC_COMPILE_IFELSE(
      [AC_LANG_PROGRAM([], [char c='a';int b=implicit_cast<int>(c);return b;])],
     [ax_cv_cxx_implicit_cast=yes], [ax_cv_cxx_implicit_cast=no])
     AC_LANG_POP([C++])])
  if test "$ax_cv_cxx_implicit_cast" = yes; then
    AC_DEFINE([HAVE_IMPLICIT_CAST],[1],[define if the compiler supports implicit_cast<>])
  fi
])
